package collection.stream;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Test2 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("www.baidu.com");
        list.add("www.googie.com");
        list.add("www.sina.com");
        list.add("www.qq.com");
        list.add("www.163.com");
        list.add("www.taobao.com");
        list.add("www.jd.com");
        /*
            获取所有网址中的域名，并且仅保留域名字符3个字(含)以上,并将域名转换为全大写
            ，然后按照域名字符个数降序排序，最终得到所有域名
         */

        List<String> list1 = list.stream()
                .map(s -> s.substring(s.indexOf(".")+1,s.lastIndexOf(".")))//截取域名
                .map(s->s.toUpperCase())//转大写
                .filter(s -> s.length() >= 3)//长度大于等于3
                .sorted((e1,e2)->e2.length()-e1.length())//长度排序
                .collect(Collectors.toList());//将流中的元素收集到一个List集合中累积操作
        System.out.println(list1);





    }
}